草庐IT

去 dep 和 fork 库

全部标签

php - 在 Windows 上使用 PHP fork /线程的最佳方法是什么?

我有一个php脚本,用于检查许多(数千)站点的更新。有时(随着站点数量的增加更频繁),我在更新其中一个站点时遇到执行超时,整个脚本都付诸东流了。我能想到的最好的想法是fork每个更新,所以如果它死了,整个更新就会继续。从我收集到的信息来看,PHP线程似乎不是什么值得依赖的东西,尤其是在Windows平台上(不幸的是我必须在Windows平台上工作)。我考虑过使用curl作为fork机制,但服务器的成本(时间和处理能力)会不会高得多?我很高兴听到一些关于PHPfork/线程的想法和经验...谢谢,奥马尔。 最佳答案 如果您打算使用cU

c - Windows、fork 和 execv

我收到了一个Unix工具,我想在Windows下运行/编译。看了之后,我看到它使用了fork和execv等等。我现在想了解它的作用以及如何在Windows中实现它。代码的作用比这里要求的要多,所以请不要评论这段代码是否有意义。pid=fork();if(pid==0){execv("/usr/bin/java",args);}如果我正确地解释了这一点,那么它只会执行类似使用args数组中提供的参数调用java的操作。所以在Windows中,这可以通过system()或CreateProcess之类的东西轻松实现(我没有阅读如何,只知道这是可以做到的)。但这是我的问题:如果我理解正确,这

windows - spawn 和 fork 有什么区别?

在启动新进程的上下文中,我遇到过spawn和fork,但它们有什么区别?在从unix到Windows的处理/解释方式上有什么不同吗? 最佳答案 fork是Unix中的标准系统调用,Windows中不存在。clone密切相关(在Linux上,它们使用相同的内部函数实现)。它用于简单地复制当前正在执行的进程。在Windows上,CreateProcess用于通过启动磁盘上的可执行文件来创建新进程。Windows有一个系列spawn函数,而POSIX指定posix_spawn.这些完成了人们通常想做的事情:执行一些程序。

windows - (fork/waitpid) 等待子进程列表,但每次子进程完成时都会中断等待

我正在使用fork生成许多并行运行多个任务的子进程。在我的例子中,简单地等待循环中的所有子进程是不够的,因为如果我列表中的第一个进程是最后一个完成的,那么我的waitpid调用将阻塞,直到该进程完成。我希望我的waitpid调用在每次进程完成时唤醒。原因是我想立即检查已完成的子进程的退出代码以确定该进程是否成功,以便我可以取消仍在运行的任何子进程。在我的例子中,如果任何子进程返回非零退出代码,让它们继续(可能持续数小时!)是没有意义的,因为这将指示错误,即使是一个错误也会使整个工作变得毫无意义。(编辑:我知道这不是waitpid实际工作的方式,但我正在寻找类似的东西。)现在,我可以通过

c# - C# 中的 fork 概念

既然C#支持线程,有没有办法在C#中实现fork的概念?提前致谢.... 最佳答案 这更多是.NET/CLR的问题,而不是C#的问题。通常,这是底层操作系统的问题。Windows不支持类似fork()的生成新进程的语义。此外,fork()与多线程支持无关。fork()的语义涉及复制原始进程地址空间的内容。我认为这是一种过时的进程创建方法,在Windows世界中几乎没有任何空间,因为它涉及很多安全和操作系统架构问题。从.NET的角度来看,fork()的根本问题是复制和/或共享非托管资源(文件句柄、同步对象、窗口句柄(!)、等)在旧流程

javascript - `deps:[]` 也可以与 `useClass` 一起使用吗?

我已经知道什么/如何使用deps。这是工厂方法需要注入(inject)token的时候,所以我们需要像这样提供它们:constrandomFactory=(car,engine)=>{return...};...providers:[Car,Engine,{provide:'Random',useFactory:randomFactory,deps:[Car,Engine],},]但我读过here:soit'sbasicallydepsonlyrelevantwhenuseFactoryisused,correct?->Exactly-onlyforuseFactory但后来我问了in

javascript - 将 firebase-messaging-sw.js deps 与 Webpack 捆绑在一起

假设我有一个文件,我在其中初始化Firebase并导入其依赖项。app.jsimportfirebasefrom'firebase'firebase.initializeApp()现在我也想为firebase-messaging-sw.js引用相同的依赖项,但由于它需要在根目录中,我该如何告诉Webpack解决依赖项?果然我可以去importScripts('https://www.gstatic.com/firebasejs/4.1.3/firebase.js')但这会为我下载两次代码。 最佳答案 这个插件解决了我的问题。fire

php - 激活 pcntl_fork() ubuntu xampp

我在使用php中的pcntl_fork()函数时遇到一些问题。我正在使用XAMPP并尝试使用该功能,但一直显示此错误:Calltoundefinedfunctionpcntl_fork()我在Google和XAMPP论坛上挖掘了一些东西,但找不到任何完全有用的东西。我发现一些论坛说我需要启用一些名为的配置--enable-pcntl我看到了phpinfo()并且我在配置命令中有那个选项。你能帮帮我吗?提前致谢埃尔卡斯 最佳答案 @Elkas,我不知道你的XAMPP版本,但我电脑上的XAMPP1.8.0带有pcntl扩展名。您可以尝试

php - 我怎样才能强制执行最大数量的 fork child ?

编辑:我已将此C标记为希望得到更多响应。我更感兴趣的是理论而不是特定的语言实现。因此,如果您是C程序员,请将以下PHP视为伪代码,并随时使用C语言编写的答案进行回应。我试图通过让PHPCLI脚本并行而不是串行执行其任务来加速它。这些任务彼此完全独立,因此它们开始/完成的顺序无关紧要。这是原始脚本(请注意,为清楚起见,所有这些示例都被剥离):我设法让它在$items上与pcntl_fork()并行工作如下图:0){//parent$pids[]=$pid;}else{//childdo_stuff_with($item);exit(0);}}foreach($pidsas$pid){pc

PHP- 需要一个 cron 用于用户注册时的后台处理...(或 fork 进程)

每当新用户在我的网站上注册时,我都想做一些预处理以缩短他们将来的搜索。这涉及30到2分钟的处理时间。显然,当他们在注册时或在他们访问的任何PHP页面上单击提交按钮时,我不能这样做。但是,我希望在他们注册后的5分钟内(或更短时间内)完成此操作。Cron路线我认为这需要在cron作业中,如果是这样,我应该如何设置cron作业?如果是这样,我的cron行每2分钟运行一次应该是什么样的,我如何确保我没有相同的cron作业与下一个重叠?事件/分支路线-首选如果我可以在不中断用户体验的情况下向我的服务器抛出一些事件,或者从用户注册中fork出一个过程(而不是cron作业),我该怎么做?